\documentclass[tikz,border=2pt]{standalone}

\usepackage{tikz}
\usetikzlibrary{decorations.markings}

\begin{document}
\begin{tikzpicture}[scale=6.5,>=latex]

    % Axes in the B_y - B_z plane:   
    % Horizontal axis: B_y component of the Bloch vector
    % Vertical axis:   B_z component of the Bloch vector
    \draw[->, very thick] (0,0) -- (0.9,0) node[right] {$B_y$};
    \draw[->, very thick] (0,0) -- (0,0.8) node[above] {$B_z$};
    
    % Parameters
    \pgfmathsetmacro{\v}{1.0}     % effective field magnitude
    \pgfmathsetmacro{\kB}{1.0}    % Boltzmann constant
    \pgfmathsetmacro{\Tlow}{0.5}  % low temperature
    \pgfmathsetmacro{\Thigh}{0.8} % high temperature
    
    % Stroke 1 -> 2 : Isentropic process (B = B1), θ changes from θ1 to θ2
    \pgfmathsetmacro{\Bone}{0.8}
    \draw[ultra thick, blue,
      domain=17:61, samples=200,
      postaction={decorate,decoration={markings, mark=at position 0.5 with {\arrow{>}}}}
    ]
    plot ({\Bone*cos(\x)}, {\Bone*sin(\x)});
    \node[above right] at (0.65,0.45) {$B_1$};

    % Stroke 2 -> 3 : Isothermal heating (T = TH), B decreases from B1 to B0 and θ changes from θ2 to θ3
    \draw[ultra thick, red,
      domain=29:64, samples=200,
      postaction={decorate,decoration={markings, mark=at position 0.5 with {\arrow{>}}}}
    ]
    plot ({tanh((\v/(\Thigh*\kB)) * cos(\x)) * sin(\x)},
          {tanh((\v/(\Thigh*\kB)) * cos(\x)) * cos(\x)});
    \node[below left] at (0.5,0.5) {$T_H$};

    % Stroke 3 -> 4 : Isentropic process (B = B0), θ changes from θ3 to θ4
    \pgfmathsetmacro{\Bzero}{0.5}
    \draw[ultra thick, blue,
      domain=10:26, samples=200,
      postaction={decorate,decoration={markings, mark=at position 0.5 with {\arrow{<}}}}
    ]
    plot ({\Bzero*cos(\x)}, {\Bzero*sin(\x)});
    \node[above right] at (0.48,0.16) {$B_0$};
    
    % Stroke 4 -> 1 : Isothermal cooling (T = TL), B increases from B0 to B1 and θ changes from θ4 to θ1
    \draw[ultra thick, red,
      domain=72.7:80, samples=200,
      postaction={decorate,decoration={markings, mark=at position 0.5 with {\arrow{<}}}}
    ]
    plot ({1.5*tanh((\v/(\Tlow*\kB)) * cos(\x)) * sin(\x)},
          {1.5*tanh((\v/(\Tlow*\kB)) * cos(\x)) * cos(\x)});
    \node[below left] at (0.75,0.15) {$T_L$};

    % --------------------------------------------------
    % State labels
    % --------------------------------------------------
    \node[below right, yshift=3pt] at ({0.8*cos(17)},{0.8*sin(17)}) {$1$};
    \node[below left,  yshift=10pt] at ({0.8*cos(60)},{0.8*sin(60)}) {$2$};
    \node[below left,  yshift=9pt]  at ({0.5*cos(27)},{0.5*sin(27)}) {$3$};
    \node[below right, yshift=3pt] at ({0.5*cos(10)},{0.5*sin(10)}) {$4$};

    % --------------------------------------------------
    % Dotted lines marking the angular positions of the states.
    % --------------------------------------------------
    \draw[dotted, thick] (0,0) -- (26:0.5);   % state 3
    \draw[dotted, thick] (0,0) -- (60.8:0.8); % state 2
    \draw[dotted, thick] (0,0) -- (10:0.5);   % state 4
    \draw[dotted, thick] (0,0) -- (17.4:0.8); % state 1

    % --------------------------------------------------
    % Angle markers
    % --------------------------------------------------
    \draw[->] (0,0) ++(90:0.4) arc (90:18:0.4)
      node[midway, above left, xshift=-10pt, yshift=8pt] {$\theta_1$};

    \draw[->] (0,0.2) ++(90:0.4) arc (90:61:0.6)
      node[midway, above right, xshift=2pt, yshift=-5pt] {$\theta_2$};

    \draw[->] (0,-0.1) ++(90:0.4) arc (90:27:0.3)
      node[midway, above right, xshift=3pt, yshift=-7pt] {$\theta_3$};

    \draw[->] (0,-0.2) ++(90:0.4) arc (90:11:0.2)
      node[midway, above left, xshift=-5pt, yshift=5pt] {$\theta_4$};

\end{tikzpicture}
\end{document}
